
#include <iostream>
#include <boost/smart_ptr.hpp>
using namespace boost;

static void case1()
{
    int *arr = new int[100];
    scoped_array<int> sa(arr);

    // fill() 会填充整个序列； fill_n() 则以给定的迭代器为起始位置，为指定个数的元素设置值
    std::fill_n(&sa[0], 100, 5);
    sa[10] = sa[20] + sa[30];
    std::cout<<sa[10]<<"\t"<<sa[20]<<"\t"<<sa[30]<<std::endl;
}

static void case2()
{
    std::unique_ptr<int[]> up(new int[10]);

    assert(up);
    up[0] = 10;
    std::cout<<up[0]<<std::endl;

    up.reset();
    assert(!up);
}

int main()
{
    // case1();
    case2();
}

